کامپیوتر و برنامه نویسی حرفه ای
لطفا از تمام مطالب ديدن فرماييد.


بخش اول

 هدف كلي 
                                 توانايي برخورد با مسائل برنامه نويسي

 

 هدفهاي رفتاري

           پس از پايان مطالعه اين بخش از فراگير انتظار مي رود كه :

1. مراحل برخورد با مسائل برنامه نويسي را بداند . 
2. هر يك از مراحل را تحليل كند . 
3. مفهوم الگوريتم را بيان كند . 
4. روش هاي بيان الگوريتم را بشناسد . 
5. قادر باشد عملیات مربوط به Trace را انجام دهد و اهمیت آن را بداند.
6. توانایی تصمیم گیری در مورد استفاده از نوع بیان الگوریتم را داشته باشد.
7. مراحل برخورد با پروژه ها را بداند و بتواند آن ها را تحلیل کند.


در این بخش به این موضوع می پردازیم که : مساله اي در اختيار ما قرار مي گيرد كه باید به زبان خاصي حل كنيم، چطور باید آن را حل کرد؟

شروع  بخش اول :

مقدمه 
اين بخش با بررسي روش هاي حل يك مساله و مفهوم الگوريتم از ديدگاههاي مختلف آغاز مي شود .شايد شما هم مثل من از بحث هاي تئوري خوشتان نمي آيد ولي  اين بررسي و به دنبال آن مهارتي كه در الگوريتم سازي كسب مي كنيد، كمك مؤثري در برنامه نويسي به شما خواهد كردپس لطفا با ما همراه شويد .
اين مفهوم در ابتدا مشكل به نظر مي رسد ولي اطمينان داشته باشيد كه با مطالعه دقيق و حل تمرينات مربوطه ، با نوشتن الگوريتم آشنا خواهيد شد .
پيش از آشنايي با مفهوم الگوريتم و كاربرد هاي آن ، بهتر است ابتدا با مساله و جزئيات آن آشنا شويم سپس براي حل مساله يك راه حل منطقي يا الگوريتمي بيابيم .

چگونگي نوشتن يك برنامه به زبان خاص 
مراحل 5 گانه حل یک مساله

1. ورودي ها يعني : بررسي داده ها يا معلومات مساله (از مساله بپرسید،چی-چیا رو باید حساب کتاب کنم؟)
2. خروجي ها يعني: بررسي مجهولات (از مساله بپرسید،چی-چیا باید نمایش داده شود؟)
3. ارتباط منطقي يعني : يافتن ارتباط بين داده ها و مجهولات (از مساله بپرسید،چجوری از ورودی به خروجی برسم؟)
4. ارائه راه حل  يعني : راه حل يا نقشه كلي مسير را پيدا كنيم تا طبق آن جلو برويم .  
5. بیان الگوریتم یعنی : راه حل خود را قدم به قدم بیان کنیم با روشی دلخواه که ترجیحا بهتر است فلوچارت باشد.


مثال 1  : 
ميانگين دو عدد 10 و 20 را حساب كنيد . 

1. ورودي : دو عدد 10 و 20 
2. خروجي : چاپ ميانگين 10 و 20 
3. رابطه منطقي : روش محاسبه ميانگين (مجموع اعداد  تقسيم بر تعداد)
4. ارائه راه حل :

بايد برنامه ام 2 عدد 10 و 20 رو خودش داشته باشه (در جاهاي مخصوصي كه من بدونم ) بعد اون دو رو از جاشون بردارم و بعد از جمع و تقسيم بر 2 در جاي ديگري قرار دهم و با گفتن جاي آن ، ميانگين اين دو عدد را چاپ كنم .

 5. بيان الگوريتم : 

روش اول بیان الگوریتم شبکه کد

شبه كد : 
1. شروع 
2. دو عدد 10 و 20 را بگير .
 3. 10+20/2 را محاسبه کن و درمكاني (متغيري)به نام  C   قرار بده .
4. C را چاپ کن.
5. پایان

شبه كد : بيان الگوريتم با استفاده از كلمات ، عبارات و علائم رياضي .

 

روش دوم بیان الگوریتم فلوچارت

فلوچارت :

فلوچارت : نمايش گرافيكي الگوريتم .


 اما چطور فلوچارت بکشیم ؟

 متداول ترين شكلها در فلوچارت :

• بيضي : مفهوم شروع و پايان را مي رساند . 
• مستطيل : مفهوم عمليات پردازش مثل محاسبات رياضي 
را مي رساند. 
• متوازي الاضلاع : مفهوم اين را مي رساند كه داده يا داده هايي در حال ورودند و يا اطلاعاتي در حال خروجند . 
• لوزي : مفهوم چندراهی را می رساند مثلا اگر شرطی برقرار بود از مسیر اول مساله حل شود و اگر شرط برقرار نبود از مسیر بعدی حل شود و ...  
دايره كوچك   O :  اتصالات ، مثلا در حال نوشتن هستيم اما فضاي كافي وجود ندارد با گذاشتن اين علامت در هر دو طرف ديگران را متوجه مي كنيم
 كه اين دو با هم ارتباط دارند و ادامه يكديگرند . 
· ----] توضيحات ، براي اينكه برنامه خوانا و قابل فهم باشد. 
تكرار :  بيشتر مواقع برنامه هاي ما مرحله يا مراحلي را دارد كه بايد طبق شرايط خاصي دوباره تكرار شود خيلي ساده با برگرداندن فلش به آن مرحله ، تكرار را معلوم مي كنيم كه به اصطلاح به اين عمل Loop   يا حلقه مي گويند.

 نکته : هميشه سعي كنيد( چه در الگوريتم و چه در كد برنامه ) براي هر مرحله خود توضيح يا كامنت بگذاريد تا هم برنامه خوانا و قابل فهم، براي ديگران و خودتان باشد و هم در بازديد هاي بعديتان ، باز متوجه شويد كه چرا مرحله اي را نوشته ايد ؟!

خب فعلا این جلسه را به پایان می رسانیم و در جلسه ی بعد ادامه می دهیم. 

موفق باشید.


<جلسه قبل ــ جلسه بعد>



نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:






برچسب‌ها:

تاريخ : 19 مهر 1394برچسب:, | 3:25 بعد از ظهر | نويسنده : احسان صمدی فرد |

لطفا از ديگر مطالب نيز ديدن فرماييد
.: Weblog Themes By SlideTheme :.
?

  • ميني ويکي نت